package pers.fjl.test.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import pers.fjl.common.entity.QueryPageBean;
import pers.fjl.common.po.Role;
import pers.fjl.common.po.User;
import pers.fjl.common.vo.UserItem;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserItemService extends IService<User> {
    /**
     * 查询用户
     *
     * @param queryPageBean
     * @return list
     */
    Page<User> findPage(QueryPageBean queryPageBean);

    /**
     * 填表添加用户
     *
     * @param user
     */
    boolean addUser(User user);

    /**
     * 禁用用户
     *
     * @param id
     */
    boolean forbid(String id);

    /**
     * 根据用户id删除
     *
     * @param id
     */
    boolean deleteById(String id);

    /**
     * 利用jwt登录验证
     *
     * @param user
     * @return
     */
    User login(User user);

    /**
     * 查询用户是否存在
     *
     * @param username
     * @return
     */
    boolean UserExist(String username);

    /**
     * 根据用户id查询用户
     *
     * @param userId
     * @return user
     */
    User findById(String userId);

    /**
     * 更新用户数据
     * @return boolean
     */
    boolean updateUser(User user);

    /**
     * 更新用户状态
     * @param id
     * @param dataStatus
     * @return boolean
     */
    boolean userStateChanged(String id, boolean dataStatus);

}
